Get task's Data
{ getTaskData }
Returns the task using its ID.
Method
/API3/tasks/getTaskData
- Enterprise Admin
- Domain Admin
- Pro
- Analyst
- Viewer
Input Parameters
Name
taskId
Type
string
Description
The task's system ID
Output Response
Successful Result Code
200
Response Type
Description of Response Type
Execution Tasks object with details of a scheduled job task.
Notes
Use this function with other functions for setting and getting tasks and task related functions. Use the 'getTasksIds' method to retrieve task ID's
Examples
Find and Run a scheduled task (JavaScript):
This example demonstrates how to find a item's schedule and then run it programmatically.
The example uses API authentication driven from JavaScript. See Authentication APIs for alternatives.
// URL of the Pyramid installation and the path to the API 3.0 REST methods
var pyramidURL = "http://mysite.com/api3/";
// step 1: authenticate admin account and get token
// NOTE: callApi method is a generic REST method shown below.
let token = callApi("authentication/authenticateUser",{
"userName":"adminUser",
"password":"abc123!"
},"",false);
log("got token "+token);
// step 2: get all the schedules in the system based on name search
let findSchedule= callApi("tasks/findSchedule ",{
"searchCriteria":{
"searchValue":"My Demo Schedule",
"searchMatchType":2
},
"scheduleType":1
},token);
// step 3: extract the schedule ID property from the returned schedule that matches "My Demo Schedule"
let scheduleId = findSchedule[0].scheduleId
// step 4: launch a run of the chosen schedule now, without triggers
let runSchedule = callApi("tasks/runSchedule ",{"scheduleId": scheduleId,"checkTriggers":"false"},token);
if(runSchedule.error!=null){
throw new Error(runSchedule.error);
}
// step 5A: OPTIONAL: get details to check running status of scheduled event. First, get execution ID
let executionId=runSchedule;
//stet 5B: get execution item's status.
let taskData= callApi("tasks/getScheduleExecutionStatus ",executionId ,token);
log("executionId status is "+executionStatus[taskData.status]);
//step 5C: check status every 3 seconds
if(taskData.status!=1){
setTimeout(getStatus,3000);
}
////############ alternative approach #################
//step 6a: get task items in that execution.
let tasks= callApi("tasks/getTasksIds ",executionId,token);
//step 6B: get the ID of the single task in that execution.
let taskId = tasks[0].id
log("got task "+taskId);
//step 6C: get status of the task.
getStatus();
function getStatus(){
let taskData= callApi("tasks/getTaskData ",taskId ,token);
log("task status is "+taskData.status);
if(taskData.status!=1){
setTimeout(getStatus,3000);
}
}
////############ other methods #################
//step 7: pause the schedule
let suspend= callApi("tasks/suspendSchedule",scheduleId, token);
//step 8: restart the schedule
let resume= callApi("tasks/resumeSchedule",scheduleId, token);
// ##### optional generic login method for debugging ##############
function log(msg){
document.write(msg);
console.log(msg);
}
// ##### generic REST API calling method ##############
function callApi(path,data,token="",parseResult=true){
var xhttp = new XMLHttpRequest();
xhttp.open("POST", pyramidURL+path, false);
xhttp.setRequestHeader("paToken",token)
xhttp.send(JSON.stringify(data));
if(parseResult){
return JSON.parse(xhttp.responseText);
}else{
return xhttp.responseText;
}
}
Code Snippets
Use the Authentication API methods to generate an access 'key' or 'token' for use in code as shown below.
TypeScript
Curl
Java
C#
Python
PHP
curl -X POST \
-H "paToken: [[apiKey]]" \
-H "Accept: application/json,application/json;charset=utf-8,text/plain,text/plain;charset=utf-8" \
-H "Content-Type: application/json" \
"http://Your.Server.URL/API3/tasks/getTaskData" \
-d ''
import com.pyramidanalytics.*;
import com.pyramidanalytics.auth.*;
import com.pyramidanalytics.model.*;
import com.pyramidanalytics.api.TasksServiceApi;
import java.util.*;
import java.time.*;
public class TasksServiceApiExample {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://Your.Server.URL/");
// Configure API key authorization: paToken
ApiKeyAuth paToken = (ApiKeyAuth) defaultClient.getAuthentication("paToken");
paToken.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//paToken.setApiKeyPrefix("Token");
// Create an instance of the API class
TasksServiceApi apiInstance = new TasksServiceApi();
// Initialize the taskId parameter object for the call
String taskId = taskId_example; // Create the input object for the operation, type: String
try {
TaskViewData result = apiInstance.getTaskData(taskId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling TasksServiceApi#getTaskData");
e.printStackTrace();
}
}
}
import * as PyramidAnalyticsWebApi from "com.pyramidanalytics";
// Create an instance of the API class
const api = new PyramidAnalyticsWebApi.TasksServiceApi("http://Your.Server.URL")
// Configure API key authorization: paToken
api.setApiToken("YOUR API KEY");
const taskId = taskId_example; // {String}
api.getTaskData(taskId).then(function(data) {
console.log('API called successfully. Returned data: ' + data);
}, function(error) {
console.error(error);
});
using System;
using System.Diagnostics;
using PyramidAnalytics.Sdk.Api;
using PyramidAnalytics.Sdk.Client;
using PyramidAnalytics.Sdk.Model;
public class getTaskDataExample
{
public static void Main()
{
Configuration conf = new Configuration();
conf.BasePath = "http://Your.Server.URL/";
// Configure API key authorization: paToken
conf.ApiKey.Add("paToken", "YOUR_API_KEY");
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// conf.ApiKeyPrefix.Add("paToken", "Bearer");
GlobalConfiguration.Instance = conf;
// Create an instance of the API class
var apiInstance = new TasksServiceApi();
// Initialize the taskId parameter object for the call
var taskId = taskId_example; // Create the input object for the operation, type: String |
try {
// Returns the task using its ID.
TaskViewData result = apiInstance.getTaskData(taskId);
Debug.WriteLine(result);
} catch (Exception e) {
Debug.Print("Exception when calling TasksServiceApi.getTaskData: " + e.Message );
}
}
}
import com.pyramidanalytics
from com.pyramidanalytics import ApiException
from com.pyramidanalytics import TasksServiceApi
from pprint import pprint
# Configure API key authorization: paToken
api_config = com.pyramidanalytics.Configuration(host = 'http://Your.Server.URL/', api_key={ paToken:'YOUR_ACCESS_TOKEN' })
with com.pyramidanalytics.ApiClient(api_config) as api_client:
# Create an instance of the API class
api_instance = TasksServiceApi(api_client)
# Initialize the taskId parameter object for the call
taskId = taskId_example # String |
try:
# Returns the task using its ID.
api_response = api_instance.get_task_data(taskId)
pprint(api_response)
except ApiException as e:
print("Exception when calling TasksServiceApi->getTaskData: %s\n" % e)
<?php
require_once(__DIR__ . '/vendor/autoload.php');
OpenAPITools\Client\Configuration::getDefaultConfiguration()->setHost('http://Your.Server.URL');
// Configure API key authorization: paToken
OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKey('paToken', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('paToken', 'Bearer');
// Create an instance of the API class
$api_instance = new OpenAPITools\Client\Api\TasksServiceApi();
$taskId = taskId_example; // String |
try {
$result = $api_instance->getTaskData($taskId);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling TasksServiceApi->getTaskData: ', $e->getMessage(), PHP_EOL;
}
?>